xen/vm_event: Decouple vm_event and mem_access.
authorTamas K Lengyel <tamas.lengyel@zentific.com>
Thu, 9 Apr 2015 14:32:50 +0000 (16:32 +0200)
committerTim Deegan <tim@xen.org>
Thu, 16 Apr 2015 08:42:22 +0000 (09:42 +0100)
commitadeb3124a26a48abd1452495da5ce0e2a22a00b8
tree39f688e8cac7ac4855d74fa942bdc7fb262c07ef
parent341f354cbb95c64c08f8ba181350195e00a94649
xen/vm_event: Decouple vm_event and mem_access.

The vm_event subsystem has been artifically tied to the presence of mem_access.
While mem_access does depend on vm_event, vm_event is an entirely independent
subsystem that can be used for arbitrary function-offloading to helper apps in
domains. This patch removes the dependency that mem_access needs to be supported
in order to enable vm_event.

A new vm_event_resume function is introduced which pulls all responses off from
given ring and delegates handling to appropriate helper functions (if
necessary). By default, vm_event_resume just pulls the response from the ring
and unpauses the corresponding vCPU. This approach reduces code duplication
and present a single point of entry for the entire vm_event subsystem's
response handling mechanism.

Signed-off-by: Tamas K Lengyel <tamas.lengyel@zentific.com>
Acked-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Acked-by: Tim Deegan <tim@xen.org>
14 files changed:
xen/arch/x86/mm/mem_sharing.c
xen/arch/x86/mm/p2m.c
xen/common/Makefile
xen/common/mem_access.c
xen/common/vm_event.c
xen/include/asm-x86/mem_sharing.h
xen/include/asm-x86/p2m.h
xen/include/xen/mem_access.h
xen/include/xen/vm_event.h
xen/include/xsm/dummy.h
xen/include/xsm/xsm.h
xen/xsm/dummy.c
xen/xsm/flask/hooks.c
xen/xsm/flask/policy/access_vectors